Any discussion of the prior art throughout the specification should in no way be considered as an admission that such prior art is widely known or forms part of common general knowledge in the field.
Physical database design is an essential step to implementing a high performance data warehouse. In particular, users must make choices regarding the physical characteristics of their relational tables and columns. Such choices typically include indexes, partitioning strategies, and summary tables. The process of making these choices manually is difficult and mistaken prone, even for experienced users. For this reason, Database Management Systems (DBMS) vendors often provide tools—often referred to as “wizards”—that make recommendations directed towards physical database design. Known tools are relatively rudimentary, and limited to recommending simple structures such as secondary indexes.
Many DBMS vendors offer relatively advanced index structures that store and maintain derived data. Such index structures are commonly referred to as “materialized views” and are used to store a subset of a table's rows and columns, pre-joined results, or aggregated data. One of the major drawbacks of materialized views is their complexity and the resulting difficulty users have in defining them for their particular workload.
Identifying materialized views having particular characteristics is particularly challenging because of the large number of candidate views. Indeed, it generally not feasible to search and analyze the entire solution space due to the excessive amount of CPU resources and time that would be required.